Method and system for scheduling online targeted content delivery

ABSTRACT

A method and system are provided for scheduling the delivery of multiple items of content selectively to online users. Expected values relating to each user being online during a given time period are determined. An ordered list of the items of content to be selectively delivered to the users is generated based on the expected values. The list is prioritized to meet delivery requirements associated with the items of content.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates generally to managing the deliveryof content (such as advertisements) to online users and, moreparticularly, to a method and system for scheduling targeted contentdelivery.

[0003] 2. Description of Related Art

[0004] Online advertising (typically banner advertisements) directed toWeb users or subscribers has grown rapidly along with the growth of theInternet and e-commerce activity. Web advertising is frequently targetedto particular Web users. For example, it is known to profile Web usersby determining their demographics and interests, and to selectivelytransmit advertisements to only those users having particular desiredprofiles. Information on users can be obtained from the users themselvesthrough questionnaires or from other profiling techniques.

[0005] Online content delivery services typically contract withadvertisers to deliver some specified number of advertisements (i.e.,impressions) to Web users having particular profiles. In scheduling thedelivery of advertisements, a number of variable factors are involvedsuch as, e.g., when a given user will log on or for how long.Accordingly, the content delivery services typically pre-schedule allcontent deliveries for all users using very conservative estimates ofscheduled deliveries in order to fulfill advertising contracts. Knowncontent delivery systems are thereby very inefficient in utilizinginventory (available user screen real estate) and fulfilling advertisercontracts.

[0006] A need exists for a method and system for more efficientlydelivering targeted content to online users.

BRIEF SUMMARY OF THE INVENTION

[0007] The present invention is directed to a method and system forscheduling targeted content delivery to online users. In accordance withthe invention, operations research and yield management techniques areutilized to forecast the availability of user screen real estate (i.e.,inventory), optimize the use of surplus inventory, and generateon-demand selective content delivery schedules to transmit content tothe users.

[0008] Briefly, the scheduler system in accordance with the inventionreviews new advertising campaigns proposed by advertisers and predictswhether campaign objectives are achievable in view of forecastedinventory. The system generates a master delivery plan based on expectedvalues to fulfill advertiser contracts and optimize usage of surplusinventory. The plan is periodically modified based on delivery feedbackinformation. The system also dynamically generates individual userschedules on user login.

[0009] These and other features and advantages of the present inventionwill become readily apparent from the following detailed descriptionwherein embodiments of the invention are shown and described by way ofillustration of the best mode of the invention. As will be realized, theinvention is capable of other and different embodiments and its severaldetails may be capable of modifications in various respects, all withoutdeparting from the invention. Accordingly, the drawings and descriptionare to be regarded as illustrative in nature and not in a restrictive orlimiting sense with the scope of the application being indicated in theclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010] For a fuller understanding of the nature and objects of thepresent invention, reference should be made to the following detaileddescription taken in connection with the accompanying drawings wherein:

[0011]FIG. 1 is a schematic diagram illustrating of a representativenetwork in which the inventive system is preferably implemented;

[0012]FIG. 2 is a schematic diagram illustrating in greater detail thepreferred architecture of the inventive system; and

[0013]FIG. 3 is a flowchart illustrating in general the process forscheduling content delivery in accordance with the invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0014] U.S. patent application Ser. No. 09/558,755 filed Apr. 21, 2000and entitled “Method And System For Web User Profiling And SelectiveContent Delivery” is expressly incorporated by reference herein. Thatapplication discloses a method and system for profiling online users(who are also referred to herein as clients or subscribers) based ontheir observed surfing habits and for selectively delivering content,e.g., advertising, to the users based on their individual profiles.

[0015] The present invention is directed to optimizing content deliveryto online users and can be implemented in a content delivery system suchas, e.g., that disclosed in the above-mentioned application Ser. No.09/558,755. Very briefly, in accordance with the invention, operationsresearch and yield management techniques are utilized to forecast theavailability of user screen real estate (i.e., inventory), optimize theuse of surplus real estate, and generate on-demand selective contentdelivery schedules to transmit content to the users. The content isdisplayed on user computer display devices, and can compriseadvertising, e.g., in the form of banner advertisements or pop-upadvertisements.

[0016]FIG. 1 illustrates a general representative network in which theinventive scheduler system can be implemented. The network includes aplurality of client machines 10 operated by various individual users.The client machines 10 connect to multiple servers 12 via acommunication channel 14, which is preferably the Internet. It may,however, alternatively comprise an Intranet or other known connections.In the case of the Internet, the servers 12 are Web servers that areselectively accessible by various clients. The Web servers 12 operateso-called “Web sites” and support files in the form of documents andpages. A network path to a Web site generated by the server isidentified by a Uniform Resource Locator (URL).

[0017] One example of a client machine 10 is a personal computer such asa Pentium-based desktop or notebook computer running a Windows operatingsystem. A representative computer includes a computer processing unit,memory, a keyboard, a mouse and a display unit. The screen of thedisplay unit is used to present a graphical user interface (GUI) for theuser. The GUI is supported by the operating system and allows the userto use a point and click method of input, e.g., by moving the mousepointer on the display screen to an icon representing a data object at aparticular location on the screen and pressing on the mouse buttons toperform a user command or selection. Also, one or more “windows” may beopened up on the screen independently or concurrently as desired. Thecontent delivered by the system to users is displayed on the screen.

[0018] Other types of client devices are also possible such as mobileInternet devices (e.g., Web-connected cellular phones and personaldigital assistants).

[0019] Client machines 10 typically include browsers, which are knownsoftware tools used to access the servers 12 of the network.Representative browsers for personal computers include, among others,Netscape Navigator and Microsoft Internet Explorer. Client machines 10usually access servers 12 through some private Internet service provider(ISP) such as, e.g., America Online. Illustrated in FIG. 1 are multipleISP “point-of-presence” (POP) systems, each of which includes an ISP POPserver 16 linked to a group of client machines 10 for providing accessto the Internet. Each POP server 16 is connected to a section of the ISPPOP local area network (LAN) that contains the user-to-Internet traffic.The ISP POP server 16 can capture URL page requests from individualclient machines 10 for use in user profiling (if user profiling is basedon Web Surfing habits of users) and also to distribute targeted contentto users. Also, as will be discussed in detail below, the inventivesystem also preferably includes a remote master server 18 linked to eachISP POP server 16 preferably through the Internet. The system softwareis preferably distributed over the network at the ISP POP servers 16 andthe master server 18 as will be discussed below.

[0020] As is well known, the World Wide Web is the Internet's multimediainformation retrieval system. In particular, it is a collection ofservers of the Internet that use the Hypertext Transfer Protocol (HTTP),which provides users access to files (which can be in different formatssuch as text, graphics, images, sound, video, etc.) using, e.g., astandard page description language known as Hypertext Markup Language(HTML). HTML provides basic document formatting and allows developers tospecify links to other servers and files. These links include“hyperlinks,” which are text phrases or graphic objects that conceal theaddress of a site on the Web.

[0021] A user of a client machine having an HTML-compatible browser(e.g., Netscape Navigator) can retrieve a Web page (namely, an HTMLformatted document) of a Web site by specifying a link via the URL(e.g., www.yahoo.com/photography). Upon such specification, the clientmachine makes a transmission control protocol/Internet protocol (TCP/IP)request to the server identified in the link and receives the Web pagein return.

[0022]FIG. 2 illustrates in greater detail the preferred schedulersystem architecture. (For simplicity, only a single POP server 16 and asingle client 10 are shown.) As illustrated, the master server system 18includes various software components for managing content deliveryincluding a Dynamic Campaign Manager 50, a Capacity Forecaster 52, aDelivery Manager 54, an Inventory Manager 51, system configurationinformation 53, and a matcher 56. The master server system 18 alsoincludes a master database 60 storing advertisements and user profiles.Also, On-Demand Scheduler 70, local matcher 72 and content deliverysystem (cds) server 74 components reside at the ISP POP server 16. TheISP POP server 16 also includes a remote local database 76 storingindividual user profile data and advertisements. The Dynamic CampaignManager component 50 provides a portal to the system for advertisers (orAd buyers or media buyers who act on behalf of advertisers) to initiateand manage their advertising campaigns. (The terms Ad buyer, mediabuyer, and advertiser are used interchangeably for purposes of thisapplication.) The advertiser can, e.g., monitor the number of timescontent has been delivered to a client 10 (i.e., the number ofimpressions) and the number of click-throughs on that content during thecourse of a campaign.

[0023] The Capacity Forecaster 52 reviews new campaigns proposed byadvertisers and predicts whether their campaign objectives areachievable in view of forecasted inventory of user screen real estate.The Capacity Forecaster 52 thereby assists in forming contracts havingan expected high degree of success. A ‘contract’ as used herein isgenerally an agreement for content delivery typically between thescheduler system operator or owner and an advertiser or media buyer.This agreement specifies various terms including, e.g., the content tobe delivered, delivery quantity (i.e., number of impressions), targetsubscriber group, and start and end dates.

[0024] The Inventory Manager 51 generates a candidate plan to fulfillnew and existing advertiser contracts and to optimize usage of surplususer screen real estate. The Inventory Manager 51 modifies the plan asneeded based on delivery feedback information received from theOn-Demand Scheduler 70. The Delivery Manager 54 generates the best planfor the current days scheduled deliveries. The Delivery Manger 54 isalso responsible for balancing deliveries within a day and processingthe results of the On-Demand Scheduler. The On-Demand Scheduler 70dynamically constructs delivery schedules for individual users on userlogin. The Capacity Forecaster 52, Delivery Manager 54 and On-DemandScheduler 70 components of the system will be described in greaterdetail below.

[0025]FIG. 3 is a flowchart generally illustrating the process ofscheduling and delivering content in accordance with the invention. AtStep 100, the Dynamic Campaign Manager 50 receives a proposed newadvertising campaign from an advertiser. At Step 102, the CapacityForecaster reviews the proposed campaign to determine whether thecampaign goals are achievable. If the inventory projections are lessthen the campaign goals, then at Step 104, the scheduler systemidentifies and suggests which constraints could be relaxed in order toachieve campaign goals as will be described below. If the campaign isdetermined to be achievable, it is approved at Step 106.

[0026] The Inventory Manager 51 then constructs a delivery plan for allapproved campaigns at Step 108. At Step 110, for each subscriber on userlogin, the On-Demand scheduler 70 constructs an individual deliveryschedule. At Step 112 advertisements are transmitted to users based ontheir individual delivery schedules. The system reports advertisementdelivery feedback to the Delivery Manager at Step 114, which is used toupdate the master delivery plan as will be discussed below.

[0027] Capacity Forecaster

[0028] The Capacity Forecaster component 52 assists in predicting thesuccess of a campaign proposed by an advertiser. For example, itpredicts whether the system will be able to deliver a proposed number ofimpressions to users of some given profile within a desired period oftime. When a new contract with an advertiser is under consideration(i.e., the advertiser proposes a new campaign), the Capacity Forecaster52 calculates the probable or expected supply (i.e., surplus) of screenreal estate on user client devices and approves the contract if anadequate supply is expected for the proposed campaign. If the supply isnot sufficiently large, the Capacity Forecaster 52 assists theadvertiser in modifying the campaign requirements or constraints set bythe Ad buyer by determining which constraints could be modified and howin order to successfully schedule a potential contract.

[0029] The Capacity Forecaster 52 determines campaign achievability byexamining the number of qualified subscribers who match the campaign'sprofile using the Matcher and then calculating the current load (oralternatively, the available capacity, i.e., surplus) on those users dueto previously scheduled campaigns. More particularly, the CapacityForecaster 52 calculates the current load (or surplus) based uponstatistics of how many impressions a subscriber can support compared tohow many advertisements the subscriber is already scheduled to receivedue to existing campaigns. (The statistics include data previouslygathered on subscribers such as, e.g., how frequently a given subscriberlogs on and the lengths of his or her sessions.) The total load on eachsubscriber is calculated by summing the loads contributed by eachcampaign. If a sufficient number of available subscribers is notavailable or if the load on the subscribers is too high, the CapacityForecaster 52 identifies and suggests constraints to relax so that thecampaign goals can be met such as, e.g., increasing the campaign length,reducing the number of requested impressions, or relaxing the profileconstraints.

[0030] Additionally, the Capacity Forecaster 52 can periodicallyre-evaluate campaigns currently under execution, and determine theirprobability of success, e.g., whether the system will be able toschedule the contracted number of content deliveries based on deliverydata feedback that has been received. Again, the Forecaster 52 candetermine whether constraints set by the advertiser should be relaxed inorder to increase the likelihood of success of the campaign.

[0031] Inventory Manager

[0032] The Inventory Manager 51 generates a master delivery planexpected to fulfill delivery contracts with advertisers. It usesdelivery feedback information received from the On-Demand Scheduler 70of each POP server 16 in the system to adaptively modify the master planon a periodic basis.

[0033] For each accepted advertising campaign, the Inventory Manager 51calculates a daily goal number of impressions to meet contractrequirements. Advertisers typically desire to distribute the totalnumber of desired impressions equally over each day of the campaign.(Alternatively, other distribution patterns can be used as desired.) Thegoals are periodically updated, e.g., each day, by comparing the numberactually delivered to the desired total number of impressions.

[0034] The Inventory Manager constructs the master delivery plan on aperiodic basis, e.g., once a day, based on the calculated goals of eachof the active advertising campaigns. The plan specifies a prioritizedmaster list of advertisements, which is sent to the On-Demand Scheduler70 at each POP server 16. The prioritized content list identifies theorder in which advertisements are to be displayed. The order is basedpreferably both upon priority and some weighting mechanism thatindicates how many impressions are needed by each campaign.

[0035] The Delivery Manager 54 can reorder or reprioritize the masterlist of scheduled advertisements based upon delivery feedback data andqueuing logic/algorithms. For example, if the goal for a given campaignis to evenly distribute an advertisement over the course of the campaignlength, the advertisement can be moved down in the queue ofadvertisements to be displayed if it gets ahead of its daily goals.Similarly, if an advertisement gets behind in meeting its goals, it maybe automatically promoted in priority. If an advertisement exceeds itsdaily goal it can be effectively shut off by being placed at the veryend of the queue.

[0036] On-Demand Scheduler

[0037] The On-Demand Scheduler 70, which resides at each ISP POP server16 in the system, dynamically constructs an individual ordered list ofadvertisements to be delivered for each given user upon user login. Eachindividual list includes advertisements matched to the user andprioritized according to the master list received from the DeliveryManager 54.

[0038] When a user or subscriber logs on, the On-Demand Scheduler 70calls the Local Matcher 72 to identify the advertisements the subscriberis eligible for. This is done by matching the profile of the user(preferably through an anonymous user ID) to the profiles ofadvertisements in the prioritized master list generated by the DeliveryManager 54. The result is a list of advertisements for which thesubscriber is eligible to receive. The On-Demand Scheduler 70 thenpreferably retrieves any state variables for the advertisements. Thevariables can indicate, e.g., if a subscriber has previously been sentan advertisement, when (date and time) that subscriber was last sent theadvertisement, and how many total times the subscriber has been sent theadvertisement.

[0039] After the On-Demand Scheduler 70 has the list of eligibleadvertisements and the state variables for those advertisements, itpreferably examines any constraints for each advertisement. Constraintscan include, e.g., the time required between successive impressions of agiven advertisement, maximum number of impressions allowed, etc. If theconstraints do not rule out the advertisement, it is placed in thesubscribers' individual list of advertisements. The individual list isprioritized in accordance with the prioritized master list generated bythe Delivery Manager 54.

[0040] The system employs on-demand scheduling for individual users toreduce the communication volume over a network. On-demand schedulingavoids the need for replicating the large client command tables over theInternet from the master server 18 to the POP servers 16.

[0041] Advertisements in the individual list are retrieved by the CDSserver 74 from the remote database 76 and sent to the subscriber in thespecified order. The On-Demand Scheduler 70 preferably provides theDelivery Manager 54 with data on the impressions delivered to each userso that the Delivery Manager 54 can reprioritize its list ofadvertisements as needed.

[0042] Scheduling Mathematics

[0043] The Capacity Forecaster 52 and the Inventory Manager 51 determinecampaign achievability and construct the master delivery plan based onstatistical behavior of subscribers (obtained, e.g., as described in theabove-mentioned application Ser. No. 09/558,755), generally taking intoconsideration a number of random factors. One random factor, e.g., isthat the system does not know whether a given user will log on at anygiven time period. Another random factor is that the amount of time thesubscriber will be logged on (i.e., the length of an online session) isunknown. Accordingly, the number of advertisements that can be deliveredto a particular subscriber for some given time period is unknown. Thesystem models these random factors and uses probability distributions,expected values and related statistical computations based on knowledgeof prior observed online behavior of users.

[0044] These random factors can be mathematically represented, e.g., asfollows. A random subscriber will log onto the Web on any given day witha probability p. He or she will therefore not log onto the Web on anygiven day with probability (1−p). Given that a subscriber logs onto theWeb on a given day, suppose that a random subscriber's probabilitydistribution function for Web time per day is given by

[0045] F_(s)(s)=≡P{S≦s}=Probability that the service time is less thanor equal to a given value, say s,

[0046] where S is a random variable indicating the subscriber's Web timeper day (given that S is positive).

[0047] Suppose advertisements are to be sent to the subscriber once eachT minutes for up to A_(max) ads (e.g., A_(max)=10 ads per day). That is,the first advertisement is sent at time T minutes, the second at time 2Tminutes and the k^(th) at time kT minutes, k≦A_(max). [1−F_(s)(s)] isthe probability that the Web subscriber remains on the Web on a randomday for more that s minutes. Suppose that there are A_(max) ads that thesystem would like the subscriber to see on any given random day. Theprobability that the system would be successful at delivering the k^(th)such advertisement is

P{k ^(th) ad delivered}=p[1−F _(s)(kT)]≡p_(k). k=1, 2, . . .   (1)

[0048] Equation (1) indicates that the probability that the k^(th)advertisement slated for delivery will be successfully placed is equalto the product of two quantities: the probability p that the subscriberlogs onto the Web on a given day and the conditional probability (giventhat he or she has logged on) that he or she remains logged on for atleast kT minutes. Since F_(s)(s) is a monotone non-decreasing functionof s, p_(k) is a non-increasing function of k. In other words, thelikelihood of successfully placing an advertisement becomes less andless as the advertisement is placed lower in the advertisement prioritylist of the master plan generated by the Inventory Manager 51.

[0049] The mean number of advertisements placed to a random subscriberon a random day can be represented as follows: $\begin{matrix}{\overset{\_}{A} = {{\sum\limits_{k = 1}^{A_{\max}}\quad {p\left\lbrack {1 - {F_{S}({kT})}} \right\rbrack}} = {\sum\limits_{k = 1}^{A_{\max}}\quad {p_{k}.}}}} & (2)\end{matrix}$

[0050] The probability mass function for the number of advertisementsplaced can be found by taking successive differences in the cumulativedistribution function for the random variable S, i.e.,

P{A=k}=P{S<(k+1)T}−P{S<kT}, k=0,1,2, . . .

P{A=k}=F _(s)([k+1]T)−F _(s)(kT)

P(A=A _(max)}=1−P{S<A _(max) T}=1−F _(s)(A _(max) T)  (3)

[0051] The second moment of the number of advertisements placed can berepresented as follows: $\begin{matrix}{\overset{\_}{A^{2}} = {{\sum\limits_{k = 1}^{A_{\max} - 1}\quad {k^{2}\left\{ {{F_{S}\left( {\left\lbrack {k + 1} \right\rbrack T} \right)} - {F_{S}({kT})}} \right\}}} + {A_{\max}^{2}\left\lbrack {1 - {F_{S}\left( {A_{\max}T} \right)}} \right\rbrack}}} & (4)\end{matrix}$

[0052] An expression for the variance of the number of advertisementsplaced on a random day to a random subscriber can be written as follows:

VAR(A)≡E[(A−A)²]≡σ² _(A) ={overscore (A²)} −{overscore (A)} ²  (5)

[0053] where the formulas for {overscore (A)}² and {overscore (A²)} arefrom Eqs.(2) and (4), respectively, and where E[*] is the expectationoperator, which is defined further below with respect to Eqn(13).

[0054] Given the above foundational elements, an engineeringapproximation of queue ordering can now be calculated.

[0055] Suppose E[Q_(jd)]=“average Queue placement for ad type j on dayd” is thought of as an engineering approximation to its distributionover Queue placements. For instance, if E[Q_(jd)]=11.4, then ad type javerages between the 11^(th) and 12^(th) place in all individual orderedlists that include ad type j. Sometimes ad type j may find itself in afront position in an individual ordered list, perhaps even first orsecond; sometimes it may trail far back in the pack, perhaps at position30 or so. The number 11.4 represents an average position over allindividual ordered lists that are generated and that include ad type j.

[0056] Derived here an inequality that provides useful information onthe required individual ordered list priority of a given ad.

[0057] Use the definition:

[0058] M_(j)=average number of ads to be placed per day (For simplicitythis ignores complications like holidays and weekends.)

[0059] Also we call P_(j) the population of subscribers who are eligiblefor ad type j and we recall that p is the fraction that log on during arandom day. Thus the product Pp is the expected number of subscriberswho log on during a random day and who are eligible for ad type j. F(x)is the probability that a logged on subscriber will have a session timeless than or equal to x minutes in length. This means that F(ΔE[Q_(j)])is the probability that a logged on subscriber will have a session timeless than or equal to ΔE[Q_(j)] minutes. Consequently, {1−F(ΔE[Q_(j)])}is the probability that a logged on subscriber will have a session timegreater than to ΔE[Q_(j)] minutes. Thus, recognizing the LHS (left handside) as the expected number of successful ad j placements during a day,we can write:

P _(j) {p(1−F(ΔE[Q _(j)]) }≧M _(j)

[0060] This equation can be manipulated to obtain:

1−F(ΔE[Q _(j)])≧M _(j)/(P _(j) p)=required number of ads to be delivereddivided by the expected number of eligible users who log on  (12)

[0061] This provides an upper bound of sorts on the maximum feasiblevalue for E[Q_(j)]. That is, for a given parameter set, ad j should beplaced at least at the position in the queue (“as experienced” by ad j)indicated by this inequality. Every night, the average value of E[Q_(j)]can be found for each ad by using Forecaster, sampling withoutreplacement for the entire population of subscribers, and tabulatingseparately for each on-going campaign.

[0062] The following is an example of a case in which the subscriberholding time is a negative exponential random variable, with mean τ. Inrecent statistical work, it has been found that the distribution of Webtime per logon is negative exponential and its mean τ is approximately31 minutes. In the case of a negative exponential distribution, we canwrite

F(x)=Pr{session time≦x}=1 31 e ^(−x/τ)

[0063] Thus Eq.(12) can be written in this case as

e ^(−ΔE[Q) ^(_(j)) ^(]/τ) ≧M _(j)/(P _(j) p)

[0064] The natural logarithms of both sides can be taken to obtain

−ΔE[Q _(j)]/τ≧1n(M _(j) /{P _(j) p})=1nM _(j)−1nP _(j)−1n p.

[0065] (The natural logarithm is a strictly monotonic transformation,thereby preserving inequality directions. For example if ex is greaterthan or equal to some quantity, then x is greater than or equal to thenatural logarithm of that quantity.)

[0066] Manipulating this equation, the desired constraint on theexpected queue position can be obtained:

E[Q _(j)]≦−τ(1nM _(j)−1nP _(j)−1np)Δ  (13)

[0067] Consider the following numerical example: Suppose τ=31 minutes,M_(j)=10,000 ads per day, P_(j)=100,000 subscribers who are eligible forad j, and p=0.15 (probability that a random eligible subscriber logs onduring a random day), and Δ=2 minutes (time between ad impressions).Then, substituting into Eq.(13), we have

E[Q _(j)]≦−τ(1nM _(j)−1nP _(j)−1np)Δ=−31(1n10,000−1n100,000−1n0.15)/2

or

E[Q _(j)]≦−31(1n10,000−1n100,000−1n0.15)/2=−31(9.21−11.51−(−1.90))/2=−31(−0.4)/2=6.2.

[0068] This means that in order to deliver the required number of type jads today, the average individual ordered list position for type j adsmust be 6.2 or less. (As used herein, lower position numbers representhigher priorities). A sensitivity analysis can be easily be performedhere. Suppose the inter-ad placement time A is doubled to 4 minutes.Then E[Q_(j)] must be 3.1 or less, a much more stringent constraint dueto fewer total ads being placed. But suppose that A remains fixed at 2minutes and that the mean time per session logon increases 50% to 46.5minutes.

[0069] Then E[Q_(j)] can increase up to 50% above its previous value, to9.3. So it can be seen how the individual ordered list inequality yieldsconstraint values that are directly proportional to the mean time persession sand inversely proportional to the time between ads placement Δ.The functional behavior with respect to population count, number of adsto be placed and probability of logon all are more complicated due tothe natural logarithms. But a key observation is that this equation (13)can readily be used to perform sensitivity analyses on any combinationof these quantities.

[0070] Additional mathematics may be employed to embody the optimizationof the internal master list ordering. A so-called Delivery SpecificationOptimizer (DSO) software module can embody the mathematical propertiesto adjust the ordering of the queue list. Specifically, the DSO attemptsto find a queue list S such that, for each ad A, the “delivery ratio”:

DeliveryRatio(A)=E(number of deliveries for A|S)/goal(A),

[0071] where E(number of deliveries of A|S) is probabilistic shorthandfor number of impressions of A the master list ordering S will deliveron an average day is the same for all advertisements.

[0072] The delivery ratio is used to assess the performance of anindividual content delivery in proportion to the master list. Thisprovides the basis of evaluating the efficiency of the master listordering. Different queue list orderings are evaluated according to theDeliveriesExpected they yield compared to the input DeliveriesRequested.The DSO attempts to achieve a constant value ofDeliveriesExpected/DeliveriesRequested over all ads; or as close to thisoptimum as is possible. In other words, the algorithm attempts tominimize the fitness value, where:

The fitness value=the sum of squares of(DeliveryRatio(ad)−DeliveryRatio({all ads}))  (Eqn. 14)

[0073] The DSO could optionally utilize numerical analysis methods toderive the relative importance of each piece of content in the queuelist. The over all fitness of a queue ordering is the sum of the valuesof all of the contracted content deliveries. This value is adifferentiable function with respect to the weightings. As a result, theDSO can use multi-dimensional Newton's method or the steepest descentmethod to rapidly approach an optimal solution.

[0074] Delivery Qualities

[0075] In accordance with a further embodiment of the invention, thescheduler system preferably ensures that subscribers always have contentto display even if they are not eligible for any active campaigns.Accordingly, the system preferably provides a set of default or fillerimpressions to be displayed when there is no content available for agiven user.

[0076] In accordance with a further embodiment of the invention, thescheduler system is capable of delivering ‘instant’ advertisements (orother content) to subscribers. These are advertisements that aredelivered to users if they perform some given action, e.g., enter aparticular keyword in a search engine query or enter a particular URLaddress. The system can preferably preempt the normal queue of orderedadvertisements in an individual schedule with an instant advertisementwhen needed. The system preferably allows the percentage of time thatinstant advertisements can preempt the normal queue to be configurablein order to reduce errors in calculations made by the CapacityForecaster.

[0077] The system improves use of excess inventory. It can also increasethe likelihood of over-delivery (i.e., delivering a greater number ofimpressions than requested by an advertiser), which is typicallyfavorable to advertisers. It provides a generally even distribution ofimpressions over the length of the campaign (if so desired). The systemprovides greater diversification of impressions (i.e., theadvertisements are distributed to different users in a target group).

[0078] Having described preferred embodiments of the present invention,it should be apparent that modifications can be made without departingfrom the spirit and scope of the invention.

1. A method of scheduling delivery of multiple items of contentselectively to a plurality of online users, comprising: determiningexpected values relating to each user being online during a given timeperiod; and generating an ordered list of the items of content to beselectively delivered to the users based on the expected values, saidlist being prioritized to meet delivery requirements associated withsaid items of content.
 2. The method of claim 1 wherein said expectedvalues are determined from known behavior of individual users.
 3. Themethod of claim 1 wherein said expected values include the probabilityof each user being online during the given time period.
 4. The method ofclaim 1 wherein said expected values include the length of time eachuser is expected to be online during the given time period.
 5. Themethod of claim 1 wherein each said user has known profile or preferencedata, and said items of content are selectively delivered to users basedon their profile or preference data.
 6. The method of claim 1 whereinsaid list is periodically generated based further on prior contentdeliveries made.
 7. The method of claim 6 wherein said list is generateddaily.
 8. The method of claim 1 further comprising generating anindividual list of items of content to be delivered to each user basedon the ordered list.
 9. The method of claim 8 wherein said individuallist is dynamically generated for each user on user login.
 10. Themethod of claim 8 wherein each individual list specifies items ofcontent for which a user is qualified to receive based on user profileor preference data.
 11. The method of claim 10 wherein said individuallist excludes certain items of content based on one or more constraints.12. The method of claim 11 wherein said one or more constraints includesthe maximum number of times an item of content can be delivered to theuser.
 13. The method of claim 11 wherein said one or more constraintsincludes the time elapsed since a given item of content was delivered tothe user.
 14. The method of claim 8 wherein generating said individuallist comprises determining the position of each of said items of contentin said list in accordance with the following equation: E[Q _(j)]≦−τ(1nM_(j)−1nP _(j)−1np)Δ  (13) where, E[Q_(j)] is the position of a givenitem of content, τ is the mean expected time period of a user onlinesession, M_(j) is the desired number of impressions of the item ofcontent to be delivered per day, P_(j) is the number of online users whoare eligible to receive the item of content, p is the probability that agiven eligible user is online on a given day, and Δ is time periodbetween deliveries of items of content to a user.
 15. The method ofclaim 1 wherein said items of content comprise advertisements to bedisplayed on a display device operated by each user.
 16. The method ofclaim 15 wherein said advertisements comprise banner advertisements. 17.The method of claim 15 wherein said advertisements comprise pop-upadvertisements.
 18. The method of claim 1 further comprising trackingwhich items of content have been delivered to each user.
 19. The methodof claim 1 wherein said users comprise World Wide Web users accessingWeb sites over the Internet, and wherein said items of content compriseadvertisements displayed on display devices operated by the users. 20.The method of claim 1 wherein said delivery requirements specify thenumber of times an item of content is to be delivered to the users. 21.The method of claim 1 wherein said delivery requirements specify a timeperiod during which a given number of deliveries of an item of contentis to be made.
 22. The method of claim 1 wherein the ordered list isoptimized by minimizing differences in performance between each item ofcontent.
 23. The method of claim 22 wherein the performance of an itemof content is defined by a ratio of the number of times an item ofcontent is delivered to the desired number of times the item of contentis to be delivered.
 24. A method for scheduling delivery of multipleadvertisements selectively to a plurality of Web users, eachadvertisement being associated with a delivery contract, comprising:determining probability data relating to each user being online during agiven time period; based on the probability data and known prioradvertisement deliveries to users, generating an ordered master list ofadvertisements to be selectively delivered to the users, said list beingprioritized to generally fulfill said contracts; and generating anindividual list of advertisements to be delivered to each user on userlogin, said individual list specifying advertisements that said user iseligible to receive based on user profile data and in an order inaccordance with said master list.
 25. The method of claim 24 whereinsaid probability data is based on known behavior of individual users.26. The method of claim 24 wherein said probability data includes theprobability of each user being online during the given time period. 27.The method of claim 24 wherein said probability data includes the lengthof time each user is expected to be online during the given time period.28. The method of claim 24 wherein said master list is periodicallygenerated based further on prior content deliveries made.
 29. The methodof claim 28 wherein said master list is generated daily.
 30. The methodof claim 24 wherein said individual list excludes certain advertisementsbased on one or more constraints.
 31. The method of claim 30 whereinsaid one or more constraints includes the number of times anadvertisement has been delivered to the user.
 32. The method of claim 30wherein said one or more constraints includes the time elapsed since agiven advertisement was delivered to the user.
 33. The method of claim24 wherein said advertisements comprise banner advertisements.
 34. Themethod of claim 24 wherein said advertisements comprise pop-upadvertisements.
 35. The method of claim 24 further comprising trackingwhich items of content have been delivered to each user.
 36. The methodof claim 24 wherein said users comprise Web surfers accessing Web sitesover the Internet.
 37. The method of claim 24 wherein said contractsspecify the number of times an advertisement is to be delivered to theusers.
 38. A computer system for scheduling delivery of multiple itemsof content selectively to a plurality of online users, comprising: amemory for storing a program; and a processor operative with the programto: (a) determine expected values relating to each user being onlineduring a given time period; and (b) generate an ordered list of theitems of content to be selectively delivered to the users based on theexpected values, said list being prioritized to meet deliveryrequirements associated with said items of content.
 39. A system forscheduling and delivering multiple items of content selectively to aplurality of online users, each item of content being associated with adelivery contract, comprising: a central computer for determining datarelating to the probability of a given user being online during a giventime period, and generating an ordered master list of items of contentto be delivered based on the probability data and known prior deliveriesof items of content to users, said list being prioritized to enhancefulfillment of said contracts; and a plurality of local computers linkedto said central computer, each local computer generating an individualschedule for each of a set of users logging on to said computer on userlogin, said schedule comprising an individual list of selected items ofcontent to be delivered to said user in accordance with said orderedmaster list, said selected items of content comprising content for whichthe user is eligible to receive based on user profile or preferencedata.
 40. The system of claim 39 wherein said central computer comprisesa Web server.
 41. The system of claim 39 wherein each of said localcomputers comprises an Internet service provider point-of-presenceserver.
 42. A method of scheduling and delivering multiple items ofcontent selectively to a plurality of online users, comprising:determining expected values relating to each user being online during agiven time period; generating an ordered master list of the items ofcontent to be selectively delivered to the users based on the expectedvalues, said list being prioritized to meet delivery requirementsassociated with said items of content; dynamically generating anindividual list of items of content to be delivered to each user on userlogin, said individual list specifying items of content that said useris eligible to receive based on user profile data and in an order inaccordance with said master list; and delivering to each logged on useritems of content specified in the user's individual list.
 43. The methodof claim 42 wherein said expected values are determined from knownbehavior of individual users.
 44. The method of claim 42 wherein saidexpected values include the probability of each user being online duringthe given time period.
 45. The method of claim 42 wherein said expectedvalues include the length of time each user is expected to be onlineduring the given time period.
 46. The method of claim 42 wherein saidmaster list is periodically generated based further on prior contentdeliveries made.
 47. The method of claim 46 wherein said list isgenerated daily.
 48. The method of claim 42 wherein said individual listexcludes certain items of content based on one or more constraints. 49.The method of claim 48 wherein said one or more constraints includes thenumber of times an item of content has been delivered to the user. 50.The method of claim 48 wherein said one or more constraints includes thetime elapsed since a given item of content was delivered to the user.51. The method of claim 42 wherein said items of content compriseadvertisements to be displayed on a display device operated by eachuser.
 52. The method of claim 51 wherein said advertisements comprisebanner advertisements.
 53. The method of claim 51 wherein saidadvertisements comprise pop-up advertisements.
 54. The method of claim42 further comprising tracking which items of content have beendelivered to each user.
 55. The method of claim 42 wherein said deliveryrequirements specify the number of times an item of content is to bedelivered to the users.
 56. A method of scheduling delivery of multipleitems of content selectively to a plurality of online users, comprising:receiving an ordered master list of the items of content to beselectively delivered to the users based on the expected values, saidlist being prioritized to meet delivery requirements associated withsaid items of content; and for each user on user login dynamicallygenerating an individual list of items of content to be delivered to theuser, said individual list specifying items of content that the user iseligible to receive based on user profile data and in an order inaccordance with said master list.
 57. The method of claim 51 furthercomprising excluding from said individual list certain items of contentbased on a constraint.
 58. The method of claim 57 wherein saidconstraint comprises a limit on the number of times an item of contentcan be delivered to a user.
 59. The method of claim 57 wherein saidconstraint comprises a minimum time elapsed since a given item ofcontent was delivered to the user.
 60. A method of determining theviability of a proposed plan to deliver an item of content to onlineusers having specified characteristics a specified number of timesduring a specified time period, said item of content to be delivered tosaid online users as one of a series of items of content deliveredsequentially to the users, comprising: determining an expected positionof the item of content in the series based on the number of online usershaving the specified characteristics, the probability that a random userhaving the specified characteristics will be online during the specifiedtime period, a predicted session length for the random user, and thetime period between deliveries of said items of content; determining theexpected number of deliveries of said items of content based on theexpected position; and comparing the expected number of deliveries tothe specified number of deliveries.
 61. The method of claim 60 furthercomprising suggesting an alternative constraint if the plan isdetermined not to be viable.
 62. The method of claim 61 wherein saidconstraint comprises the specified number of times said item of contentis to be delivered.
 63. The method of claim 61 wherein said constraintcomprises the specified time period.
 64. The method of claim 61 whereinsaid constraint comprises the specified characteristics.
 65. The methodof claim 60 wherein the probability that a random user having thespecified characteristics will be online during the specified timeperiod is based on known behavior of individual users.
 65. The method ofclaim 60 wherein a predicted session length for the random user is basedon known behavior of individual users.
 66. The method of claim 60wherein said characteristics comprise user profile or preference data.67. The method of claim 60 wherein said item of content comprises anadvertisement.